package cn.com.validate;


/**
 * 正则表达式类
 * @author WangGuangshuo/2016年5月16日
 *
 */
public abstract class RegExpression {
	
	/**
	 * 手机号号码校验正则表达式
	 * 适用日期：2016年5月之前的手机号
	 */
	public static String REG_MOBILE = "^(13\\d|14[57]|15[^4,\\D]|17[13678]|18\\d)\\d{8}|170[^346,\\D]\\d{7}$";
	
	/**
	 * 邮箱地址的正则表达式
	 */
	public static String REG_EMAIL = "^[A-Za-z\\d]+([-_.][A-Za-z\\d]+)*@([A-Za-z\\d]+[-.])+[A-Za-z]{2,5}$";
	
	/**
	 * 日期正则表达式
	 */
	public static String REG_DATE = "^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";
	
	/**
	 * ip地址正则表达式
	 */
	private static String num = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";
	public static String REG_IP = "^" + num + "\\." + num + "\\." + num + "\\." + num + "$";
	
	/**
	 * 身份证号码正则表达式
	 */
	public static String REG_IDENTITY = "^(([1-9][\\d]{5}[\\d]{2}(0[1-9]{1}|1[012]{1})(0[1-9]{1}|[12]{1}[\\d]{1}|3[01]{1})[\\d]{3}[\\d]{1})|([1-9][\\d]{5}(1[\\d]{3}|20[\\d]{2})(0[1-9]{1}|1[012]{1})(0[1-9]{1}|[12]{1}[\\d]{1}|3[01]{1})[\\d]{3}[\\d|X|x]{1}))$";
}
